#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
#include<string>
using namespace std;
//int main()
//{
//	string s1("hello world");
//	cout << s1<<endl;
//	s1.append("abc");
//	cout << s1 << endl;
//	cout<<s1 + "uuu"<<endl;
//	
//}
// 
//int main()
//{
//    string num1;
//    string num2;
//    int end1 = num1.size() - 1;
//    int end2 = num2.size() - 1;
//    int next = 0;
//    string tmp;
//    while (end1> 0||end2 > 0)
//    {
//        int n1 = end1 >= 0 ? num1[end1--] - '0' : 0;
//        int n2 = end2 >= 0 ? num2[end2--] - '0' : 0;
//            int all = n1 + n2;
//        int order = all % 10;
//        char a = order + next + '0';
//        tmp.insert(0, &a);
//        next = all / 10;
//    }
//
//    if (next != 0)
//    {
//        char a = '1';
//        tmp.insert(0, &a);
//    }
//   // return tmp;
//}
//class Solution {
//public:
//    string addStrings(string num1, string num2) {
//        int end1 = num1.size() - 1;
//        int end2 = num2.size() - 1;
//        int next = 0;
//        string tmp;
//        while (end1 > 0 || end2 > 0)
//        {
//            int n1 = end1 >= 0 ? num1[end1--] - '0' : 0;
//            int n2 = end2 >= 0 ? num2[end2--] - '0' : 0;
//            int all = n1 + n2;
//            int order = all % 10;
//            char a = order + next + '0';
//            tmp.insert(0, &a);
//            next = all / 10;
//        }
//
//        if (next != 0)
//        {
//            char a = '1';
//            tmp.insert(0, &a);
//        }
//        return tmp;
//    }
//};
string addStrings(string num1, string num2) {
    int end1 = num1.size() - 1;
    int end2 = num2.size() - 1;
    int next = 0;
    string tmp;
    while (end1 >= 0 || end2 >= 0)
    {
        int n1 = end1 >= 0 ? num1[end1--] - '0' : 0;
        int n2 = end2 >= 0 ? num2[end2--] - '0' : 0;
        int all = n1 + n2 + next;
        int order = all % 10;
        
        tmp.insert(0, 1, order + '0');
        next = all / 10;
    }

    if (next != 0)
    {
        tmp.insert(0, 1, '1');
    }
    return tmp;
}
int main()
{
    string s1("456");
    string s2("77");
    cout<<addStrings(s1, s2)<<endl;
}